//同以目录下的文件更名：
const fs = require("fs");
const path = require("path");
const os = require("os");
const { addAbortSignal } = require("stream");
const { start } = require("repl");
// 包含当前文件夹所有内容的数组
let allFiles = fs.readdirSync(__dirname);
// 更名操作
function my_rename(oldName, newName) {
  fs.rename(oldName, newName, function (err) {
    if (err) {
      throw err;
    }
    // console.log("rename is done!");
  });
}

// 验证结尾后缀是否为真。str文件的名字。appoint文件后缀的名字
function my_validationEnd(str, appoint) {
  // 不区分大小写全部转换成小写。
  str = str.toLowerCase();
  let tempArr = str.split(".");
  let endStr = tempArr[tempArr.length - 1];
  if (appoint === endStr) {
    return true;
  }
  return false;
}
// 过滤数组的方法，返回我想要的文件类型的数组。第一个参数文件数组。第二个参数后缀名，字符串。
function type_arr(arr, typeStr) {
  let newArr = [];
  for (let i in arr) {
    if (my_validationEnd(arr[i], typeStr)) {
      newArr.push(arr[i]);
    }
  }
  return newArr;
}

// 把a00b.txt更名为a-b.txt
function getAssArr(fileType) {
  // 所有该格式文件的数组 只剩下mkv视频的文件数组
  let typeArray = type_arr(allFiles, fileType);
  return typeArray;
}

// 重新命名
function my_rename_to_h265(fileType, mubanName = "银魂中日字幕B站", num = 7) {
  // 所有该格式文件的数组 只剩下mkv视频的文件数组,23.2.7:这次我们要把flv视频的文件更名成我们自定义想要的名字。首先我们拿到flv数组的数量然后按照下标一一对应重新命名。
  let typeArray = type_arr(allFiles, fileType);
  /* let arrLength = typeArray.length;
  for(var index=0;index<arrLength;index++){
    console.log('次数',mubanName+(index+1));
  }
  console.log(arrLength); */

  // typeArray一般是FLV数组
  typeArray.forEach((element, index) => {
    let lastPointIndex = element.lastIndexOf(".");
    let startStr = element.slice(0, lastPointIndex);
    // 包含. 文件后缀名字
    let endStr = element.slice(lastPointIndex);
    // ass的后缀名字
    // let lastPointIndex2 = assArr[index].lastIndexOf(".");
    // ass的文件名 不包含后缀
    if (index === 0) {
      console.log("下标一已经重命名成" + mubanName + endStr);
      my_rename(element, mubanName + endStr);
      return;
    }
    console.log("已经重命名成" + mubanName + "-" + (index + num) + endStr);
    my_rename(element, mubanName + "-" + (index + num) + endStr);
  });
}
// 第一项一般是flv或者mp4
my_rename_to_h265("jpg", "pred00220jp", 0);
